package ch6;

/*6：我们把只包含因子2、3 和5 的数称作丑数（Ugly Number）。
        例如6、8 都是丑数，但14 不是，因为它包含因子7。习惯上
        我们把1 当做是第一个丑数。求按从小到大的顺序输出1500 个丑数。10个一行。*/


/*本题思路：首先判断判断是否为丑数，是的话就输出，并且需要定义一个计数变量。当计数变量可以被10整出时换行
        当数量超过1500时结束。*/
/*存在的问题：1.了解了判断是否为丑数后，后面的思路有。
            2. 对break、continue 的用法不熟*/

public class ChouNumber {
    public static void main(String[] args) {
        int account = 0;
        int j = 2;
        for (; ; j++) {
            int n = j;
            while(n % 2 == 0) {//一个数可以除以2时就除以2
                n /= 2;
            }
            while (n % 3 == 0) {//要是这数还能被3整除，那么就除以3
                n /= 3;
            }
            while (n % 5 == 0) {//要是还符合要求，那就继续除
                n /= 5;
            }
            if (n == 1) {
                account++;
                System.out.print(j + "\t");
                if(account%10==0){
                    System.out.println();
                }
                if(account>1500){
                    break;
                }
            }

        }

    }
}






